﻿
#pragma once
#include "Mesh.h"
#include <vector>
#include "GeneratedMesh.h"

class OverlapMesh : public Mesh
{
public:
  OverlapMesh(const Configuration& cfg);

  virtual ~OverlapMesh(){};

  void Build() override;

  std::shared_ptr<Mesh>& GetStructuredMesh();
  std::shared_ptr<Mesh>& GetUnStructuredMesh();

private:

  std::shared_ptr<Mesh> _structure_mesh;
  std::shared_ptr<Mesh> _unstructure_mesh;

public:
};
